# @Filename:    find_element
# @Author:      王佳伟
# @Time:        2025-02-20 14:23
# @Describe:    获取元素内容、元素属性
from selenium import webdriver
from selenium.webdriver.common.by import By

class FindElement:
    def __init__(self):
        # 创建一个Chrome浏览器的WebDriver示例
        self.driver = webdriver.Chrome()
        # ChromeOptions类提供了对Chrome浏览器各种选项进行配置的方法;
        # 在excludeSwitches参数中，将enable-logging指定为要排除的选项，表示不启用浏览器的日志功能
        # options = webdriver.ChromeOptions()
        # options.add_experimental_option('excludeSwitches', ['enable-logging'])
        # self.drive = webdriver.Chrome(options=options)
        # 最大化窗口
        self.driver.maximize_window()
        # 隐式等待，设置最大的等待时长，只对查找元素（find_elementXXX）生效
        self.driver.implicitly_wait(2)

    def method(self):
        """代码执行"""
        # 通过get()方法打开网页
        self.driver.get('http://192.168.100.210/zentao/')

        # text 获取元素内容
        text = self.driver.find_element(By.CSS_SELECTOR, '.form-actions a').text
        print(text)

        # 如果使用Text获取元素内容时，返回的是空值，但未报错，这个时候我们需要使用get_attribute(‘innerText’)获取元素的内容
        # 获取元素内容
        get = self.driver.find_element(By.CSS_SELECTOR, '#loginPanel h2').get_attribute('innerText')
        print(get)

        # 获取元素属性的值
        # 获取属性的值
        get = self.driver.find_element(By.CSS_SELECTOR, '[id="keepLoginon"]').get_attribute('title')
        print(get)




